In general, a so-called storage area network (storage area network) is a collection of data storage systems that are networked via a switching fabric to a number of host computer systems. The host computers (also known as servers) of a respective storage area network access data stored in respective data storage systems on behalf of client computers that request data. For example, according to conventional techniques, upon receiving a storage access request, a respective host computer in a storage area network accesses a large repository of storage through a switching fabric on behalf of a corresponding requesting client. An access can include a read or write of data to storage.
Typically, many clients can access data through the same host computer or server. Thus, storage area networks enable multiple clients to access one or more shared storage systems through the same host computer. In many applications, storage area networks support hi-speed acquisitions of data so that the host servers are able to promptly retrieve and store data from the data storage system.
A developer or manager of such a network environment may install one or more distributed network-management software applications within host computers in a storage area network to manage or administer the various resources (i.e., devices, host computer systems, storage systems, applications, etc.) that operate within the storage area network. A network manager (i.e., a person) responsible for management of the network operates the network-management software application(s) to perform management tasks such as performance monitoring, network analysis and remote configuration and administration of the various components (i.e., software and hardware resources) operating within the network.
A conventional network-management software application may have several different software components that execute independently of each other on different computer systems but that collectively interoperate together to perform network management. As an example, conventional designs of SAN-management software applications can include a management station programs such as console and server processes, several agent processes that operate on remote host computers, store process and possibly other software processes.
Generally, the server process operates as a central control process within the SAN-management application and coordinates communication between the console, storage and agent processes. The console process often executes within a dedicated network-management workstation to allow a network administrator to visualize and remotely control and manage the various elements within the storage area network that are graphically represented on an interface presented by the console. The console allows the administrator to, for example, issue a command to an agent operating on a host computer within the network being managed. Agent processes execute on various host computer systems such as servers within the storage area network to manage storage area network entities (i.e., managed resources such as devices). As an example, there may be different respective agent programs specifically designed (e.g., coded) to remotely manage and control certain vendor-specific data storage systems, databases, switches, and so forth.
Agent processes receive remote management commands from the server process and apply functionality associated with those management commands to the managed resources within the storage area network for which those agents are designated to manage. Agents may receive a command, for example, to collect or discover configuration or management data concerning the network resources that those agents manage. This device discovery data collection process can happen in a scheduled or periodic manner, or in response to a command received from the management server. When agents are finished processing a command, results are returned to the store process for storage within a network-management database. The server can then access the database to view the results of the command sent to the agent process.
As noted above, a storage area network may include a number of hardware devices such as host computers, servers, data communications devices (e.g., switches, routers, etc.), network attached storage devices, proxy devices, firewall devices, and so forth that are coupled amongst each other via physical cables. Certain conventional network management applications are designed to provide a network manager with information concerning how these network resources are interrelated. For example, certain network management applications enable a network manager to configure resources in the network to form virtual storage area networks (VSANs).
VSAN technology enables a network manager to define independent VSANs in a storage area network based on sets of one or more physical switches. For example, physical storage area network switches in the storage area network, such as those manufactured by Cisco Systems, Inc. of San Jose, Calif., USA and other vendors, provide a coupling between host computer systems and corresponding storage systems. The hosts and storage systems couple to switch ports of the physical switches. Based on routing or switching of data in the physical switches, hosts are able to communicate through switch ports of the physical switches to corresponding storage systems and vice versa.
A storage area network administrator (i.e., a person) can operate conventional switch management and configuration software to create a VSAN within the switch that inter-relates or associates a selected set of switch ports coupling certain hosts to certain storage systems in order to isolate those inter-related switch ports (and hence their respectively connected hosts and storage systems) from other components (i.e., other host and storage systems) operating in the storage area network. In other words, a VSAN is a grouping of switch ports that represents a logical storage area network. From the perspective of a physical switch device, each given switch port (in a physical switch) is assigned to only one VSAN. Each VSAN may include two or more switch ports to couple host resources to corresponding storage resources of the storage area network. Thus, each VSAN is completely isolated from the other VSANs and functions as a separate and independent storage area network fabric with its own set of fabric services such as name services, zoning, routing, and so on.
If resources in a SAN such as switches, operating system, host bus adapters, storage systems, or the like are incompatible with other hardware and/or software resources present in the storage area network, then the storage area network might no longer operate properly and enable a respective user to retrieve stored data. One conventional way to ensure that a storage area network will work properly (e.g., so that the storage area network enables users to access corresponding stored data) is to provide a software application that operates as a SAN resource compatibility checker. Such applications are referred to herein as SAN advisor or network compatibility checking software applications since they can analyze a given SAN configuration and can indicate or “advise” a user (e.g. a SAN administrator) of what resources in the SAN might present compatibility problems with other resources.